package com.doit.day06

object _06_泛型 {
  def main(args: Array[String]): Unit = {
    val pig: Pig[Int, String] = new Pig[Int, String]()
      pig.add1(1)
    pig.add2[String]("aaa")

  }

}

/**
 * 泛型:后续我调用得时候，不确定用什么类型，所以先写有个标记类型
 * 可以定义再类上，也可以定义再方法上
 *  类上：类名之后，[]里面   作用域就是再整个类里面都可以用
 *  方法上：方法名之后，[]里面，作用域仅仅只再方法上
 *
 *  泛型定义好了之后，再调用得时候一定要指代明确
 */
class Pig[A,B](){
  def add(a:A,b:B)={
    println("aaa")
  }

  def add1(a:A): Unit ={
    println("bbb")
  }

  def add2[C](c:C): Unit ={
    println(c+"cccc")
  }

}
